package learn;

/**
 * 工厂设计模式
 * 因为再创建对象的时候会可能出现传入的是同样的数据类型，但是要表达的意思却是不同的
 * 比如表达一个二维坐标下的一个点，可以传入double x , double y 来表示
 * 也可使使用极坐标来表是 传入double a , double 0
 * 专门使用一个类来创建目标类的对象
 */

//用来创建对象
public class factoryModel {
    public static point createPointByXY(double x, double y) {
        return new point(x, y);
    }

    public static point createPointByA0(double a, double O) {
        return new point(a, O);
    }

    public static void main(String[] args) {
        point p = factoryModel.createPointByA0(1,2);
        point p1 = factoryModel.createPointByXY(1,2);
    }
}

class point{

    public point(double x, double y) {
        System.out.println("yes");
    }
}

